科普 | 以太坊 Layer 2 扩容方案及用例综述
为何需要 Layer 2?
对于一些用例 (比如区块链游戏) 而言,当前的交易处理所需时间是行不通的; 使用基于区块链的应用 (apps) 可能会非常昂贵; 任何对可扩展性的改进都不应该以牺牲安全性和去中心化为代价 –– Layer 2 构建于以太坊之上。
Layer 2 解决方案的类型
Rollups ZK Rollups Optimistic Rollups 状态通道 (State channels) Plasma Validium 侧链 混合方案
01
Rollups 是在 Layer 1 之外执行交易,但在 Layer 1 上发布交易数据的解决方案。由于交易数据位于 Layer 1 上面,这使得 Rollups 受到了 Layer 1 的保护。 Rollups 的关键特征是:继承了以太坊主链 (Layer 1) 的安全属性,同时在 Layer 1 之外执行交易。 Rollups 的三个简化特性如下:
在 Layer 1 之外执行交易; 在 Layer 1 上发布交易数据或证明; 部署在 Layer 1 上的某个 Rollup 智能合约,通过使用 Layer 1 上的交易数据能够确保 Layer 2 交易被正确地执行。
为用户减少交易费; 开放式参与; 快速的交易吞吐量。
ZK Rollups:在链下运行计算,并向主链提交有效性证明 (validity proof); Optimistic Rollups:默认情况下假定交易是有效的,仅在遇到挑战 (challenge) 时,通过欺诈证明 (fraud proof) 运行计算。
1. ZK Rollups
ZK Rollups,全称 Zero Knowledge Rollups,会将数百笔交易在链下 (Layer 2) 进行捆绑打包,并生成一个称为“SNARK” (简洁的非交互式零知识证明)的加密证明。这就是所谓的有效性证明 (validity proof),该证明会被提交和发布在 Layer 1 上面。 部署在 Layer 1 上的 ZK Rollup 合约会维护所有发生在 Layer 2 上的交易转移状态,该状态只能通过有效性证明才能进行更新。这意味着,ZK Rollups 只需要有效性证明,而不需要所有的交易数据。通过 ZK Rollup,验证区块将变得更快、更廉价,因为被打包的数据更少了。 使用 ZK Rollup 时,当资金从 Layer 2 转移到 Layer 1 时不会出现延迟,因为 ZK Rollup 合约此前接受的有效性证明已经验证了这笔资金的有效性。 我们还可以对使用 ZK Rollups 的侧链进行优化,以进一步减少交易大小。比如,账户 (account) 可以由索引 (index) 而非地址 (address) 来表示,这样就可以将交易大小从 32 字节减少到仅仅 4 字节;交易还可以作为 calldata 被写入以太坊,从而减少 Gas 使用量。ZK Rollups 的优缺点
优点:当需要将资金转移至主链上时,不会出现延迟,因为有效性证明已经对资金进行了验证; 不像 Optimistic Rullops 那样容易受到经济攻击的影响。
仅限于简单的转账,不兼容于 EVM (以太坊虚拟机); 有效性证明的计算强度很大,因此对于一些链上交易活动较少的应用而言,不值得采用此技术;
ZK Rollups 的用例
Loopring Starkware Matter Labs 的 zkSync Aztec 2.0 ZeroSwap Sushiswap dYdX Immutable X
2. Optimistic Rollups
Optimistic Rollups 与以太坊主链平行运行。Optimistic Rollups 可以在可扩展性方面提供改进,因为默认情况下它们不进行任何计算。相反,在交易完成之后,它们会向主网提议新的状态,也即对交易进行“公证”。 使用 Optimistic Rollops,交易将作为 calldata (调用数据)被写入以太坊主链,通过降低 Gas 成本来进一步对交易进行优化。 由于链上计算是导致以太坊缓慢、昂贵的原因,Optimistic Rollups 能够根据交易类型提供 10-100 倍的可扩展性提升。随着 Eth2 升级将引入分片链,这一数字将会进一步增加。这是因为,当 Optimistic Rollup 链中的某笔交易存在争议时,将会有更多的数据可用。当交易存在争议时
Optimistic Rollups 实际上并不会对交易进行计算,因此需要存在一种机制,以确保其中的交易是正当而非欺诈性的。这就是欺诈性证明 (fraud proofs) 发挥作用的地方。如果某人注意到了一笔欺诈性交易 (并提出欺诈证明),Optimistic Rollup 链将使用可用的状态数据来校验该欺诈证明并运行该笔交易的计算。这意味着,与 ZK-rollup 相比,Optimistic Rollup 可能有更长的交易确认等待时间,因为交易可能会被挑战。Optimistic Rollups 的优缺点
优点你在以太坊 Layer 1 上能做的任何事情,都可以在 Optimistic Rollups 上进行,因为 Optimistic Rollups 兼容于 EVM 和 Solidity。 所有的交易数据都存储在 Layer 1 链上,意味着 Optimistic Rollups 是安全和去中心化的。
由于潜在的欺诈性挑战,需要很长的交易确认等待时间。
Optimistic Rollups 的用例
Optimism Offchain Labs 的 Arbitrum Rollup Fuel Network Cartesi Synthetix
02
通道 (Channels)
02
通道 (Channels)
通道 (Channels) 允许参与者在链上只提交两笔交易的情况下进行 x 次链下交易。这能够实现极高的交易吞吐量。
大量的状态更新; 当预先知道参与者的数量时; 当参与者总是存在时。
状态通道 (State channels)
在以太坊主链上创建一个多签智能合约“法官”,该合约理解井字游戏规则,并可以识别 Alice 和 Bob 为游戏中的两个玩家。这份合约持有 1 ETH 的奖励。 然后,Alice 和 Bob 开始玩游戏,开启状态通道。每一步操作都会创建一笔包含“nonce”值的链下交易,这意味着之后我们总是可以知道这些操作发生的顺序。 当赢家产生时,Alice 和 Bob 通过向“法官”合约提交最终状态 (比如交易列表) 来关闭该通道,这样就只用付一次交易费用。“法官”确保这一“最终状态”由 Alice 和 Bob 双方签署,并等待一段时间以确保没人会对这一结果的合法性发起挑战,然后将 1 ETH 的奖励发给 Alice。
状态通道 – 如上所述; 支付通道 – 经简化的状态通道,只处理支付。支付通道允许两个参与者之间进行链下转账,只要他们的转账净额不超过存入的代币数量。
优缺点
即时提款/主网结算 (前提是通道的参与双方合作的情况下); 可能实现极高的交易吞吐量; 每笔交易有着最低的成本,有利于小额支付。
创建和结算通道的时间和成本 — 对于任意用户之间偶尔的一次性交易来说不太好; 需要定期查看通道网络,或将此责任委托给其他人,以确保用户资金的安全; 必须在开启通道时锁定资金; 不支持公开参与。
状态通道的用例
Connext Kchannels Perun Raiden Statechannels.org
03
Plasma
03
高吞吐量,低交易成本; 适用于任意用户之间的交易 (如果两个用户都在 Plasma 链上,则每个用户对没有开销);
不支持通用计算,只能支持基本的代币转移、兑换和其它一些交易类型; 需要定期查看该网络,或将此责任委托给其他人,以确保用户的资金安全; 依赖于一个或多个 Plasma 链运营者来存储数据并根据请求提供服务; 存在交易挑战期,提款会被推迟了几天。流动性提供者可以减轻这种情况,但存在相关的资本成本。
Plasma 用例
OMG Network Polygon (前身为 Matic Network) Gluon Gazelle LeapDAO
04
Validium
04
没有取款延迟 (链上/跨链交易没有延迟),从而提高资本效率; 不会像基于欺诈证明的系统那样容易受到某些经济攻击。
对通用计算/智能合约的支持有限;专门的语言要求。 生成 ZK 证明需要较高的计算能力,对于低吞吐量的 Apps 来说,此方案是不划算的;
Validium 用例
Starkware Matter Labs 的 zkPorter Loopring
05
侧链
05
侧链 (sidechain) 是一条独立的区块链,它与主网并行且独立运行。侧链有自己的共识算法 (比如权威证明、DPoS委托权益证明、拜占庭容错等等)。侧链通过一个双向桥与主链相连。
较成熟的技术; 支持通用计算,兼容 EVM;
不那么去中心化; 使用单独的共识机制,其安全性不受 Layer 1 保护 (因此从技术上来说,侧链不是 Layer 2); 一定数量的侧链验证者可以实现欺诈。
侧链的用例
Skale POA Network xDAI
06
混合解决方案
06
用例
Offchain Labs 的 Arbitrum SCSC Celer Network
延伸阅读
Validium And The Layer 2 Two-By-Two — Issue No. 99
https://www.buildblockchain.tech/newsletter/issues/no-99-validium-and-the-layer-2-two-by-two Evaluating Ethereum layer 2 Scaling Solutions: A Comparison Framework
https://medium.com/matter-labs/evaluating-ethereum-l2-scaling-solutions-a-comparison-framework-b6b2f410f955 Adding Hybrid PoS-Rollup Sidechain to Celer’s Coherent Layer-2 Platform on Ethereum
https://medium.com/celer-network/adding-hybrid-pos-rollup-sidechain-to-celers-coherent-layer-2-platform-d1d3067fe593 Zero-Knowledge Blockchain Scalability
https://ethworks.io/assets/download/zero-knowledge-blockchain-scaling-ethworks.pdf
状态通道
EthHub on state channels
https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/state-channels/
Making Sense of Ethereum’s Layer 2 Scaling Solutions: State Channels, Plasma, and Truebit – Josh Stark, Feb 12 2018 https://medium.com/l4-media/making-sense-of-ethereums-layer-2-scaling-solutions-state-channels-plasma-and-truebit-22cb40dcc2f4 State Channels - an explanation Nov 6, 2015 - Jeff Coleman
https://www.jeffcoleman.ca/state-channels/
Basics of State Channels - District0x
https://education.district0x.io/general-topics/understanding-ethereum/basics-state-channels/
支付通道
EthHub on payment channels
https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/payment-channels/
ZK Rollups
EthHub on zk-rollups
https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/zk-rollups/
Optimistic rollups
EthHub on optimistic rollups
https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/optimistic_rollups/
OVM Deep Dive
https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52
侧链
EthHub on sidechains
https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/sidechains/
Scaling Ethereum Dapps through Sidechains -Feb 8, 2018 - Georgios Konstantopoulos https://medium.com/loom-network/dappchains-scaling-ethereum-dapps-through-sidechains-f99e51fff447
*本文首发于Unitimes App*
-END-
【发布文章仅为传播更有价值的信息,文章版权归原作者所有,其内容与观点不代表Unitimes立场。本微信平台出现的图片均在互联网收集而来,版权归版权所有人所有,若版权者认为其作品不宜供大家浏览或不应无偿使用,请添加微信unitimes2018联系我们,本平台将立即更正。】
来了就点个“赞”呗😘